<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
	body {margin: 0; padding: 10px; background-color: #ffffff}
	h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
	header {margin: -24px 0 5px 0; line-height: 24px}
	button {font: 12px sans-serif; cursor: pointer}
	p {margin: 5px 0 5px 0}
	a {color: #0366d6}
	#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
	#hl span {padding: 0 3px 0 3px}
	#status {overflow: hidden; white-space: nowrap}
	#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
	#reset {cursor: pointer}
	#canvas {width: 100%; height: 592px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
	// Copyright 2020 Andrei Pangin
	// Licensed under the Apache License, Version 2.0.
	'use strict';
	var root, rootLevel, px, pattern;
	var reverse = false;
	const levels = Array(37);
	for (let h = 0; h < levels.length; h++) {
		levels[h] = [];
	}

	const canvas = document.getElementById('canvas');
	const c = canvas.getContext('2d');
	const hl = document.getElementById('hl');
	const status = document.getElementById('status');

	const canvasWidth = canvas.offsetWidth;
	const canvasHeight = canvas.offsetHeight;
	canvas.style.width = canvasWidth + 'px';
	canvas.width = canvasWidth * (devicePixelRatio || 1);
	canvas.height = canvasHeight * (devicePixelRatio || 1);
	if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
	c.font = document.body.style.font;

	const palette = [
		[0xb2e1b2, 20, 20, 20],
		[0x50e150, 30, 30, 30],
		[0x50cccc, 30, 30, 30],
		[0xe15a5a, 30, 40, 40],
		[0xc8c83c, 30, 30, 10],
		[0xe17d00, 30, 30,  0],
		[0xcce880, 20, 20, 20],
	];

	function getColor(p) {
		const v = Math.random();
		return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
	}

	function f(level, left, width, type, title, inln, c1, int) {
		levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
			details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
		});
	}

	function samples(n) {
		return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
	}

	function pct(a, b) {
		return a >= b ? '100' : (100 * a / b).toFixed(2);
	}

	function findFrame(frames, x) {
		let left = 0;
		let right = frames.length - 1;

		while (left <= right) {
			const mid = (left + right) >>> 1;
			const f = frames[mid];

			if (f.left > x) {
				right = mid - 1;
			} else if (f.left + f.width <= x) {
				left = mid + 1;
			} else {
				return f;
			}
		}

		if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
		if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];

		return null;
	}

	function search(r) {
		if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
			return;
		}

		pattern = r ? RegExp(r) : undefined;
		const matched = render(root, rootLevel);
		document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
		document.getElementById('match').style.display = r ? 'inherit' : 'none';
	}

	function render(newRoot, newLevel) {
		if (root) {
			c.fillStyle = '#ffffff';
			c.fillRect(0, 0, canvasWidth, canvasHeight);
		}

		root = newRoot || levels[0][0];
		rootLevel = newLevel || 0;
		px = canvasWidth / root.width;

		const x0 = root.left;
		const x1 = x0 + root.width;
		const marked = [];

		function mark(f) {
			return marked[f.left] >= f.width || (marked[f.left] = f.width);
		}

		function totalMarked() {
			let total = 0;
			let left = 0;
			Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
				if (+x >= left) {
					total += marked[x];
					left = +x + marked[x];
				}
			});
			return total;
		}

		function drawFrame(f, y, alpha) {
			if (f.left < x1 && f.left + f.width > x0) {
				c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
				c.fillRect((f.left - x0) * px, y, f.width * px, 15);

				if (f.width * px >= 21) {
					const chars = Math.floor(f.width * px / 7);
					const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
					c.fillStyle = '#000000';
					c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
				}

				if (alpha) {
					c.fillStyle = 'rgba(255, 255, 255, 0.5)';
					c.fillRect((f.left - x0) * px, y, f.width * px, 15);
				}
			}
		}

		for (let h = 0; h < levels.length; h++) {
			const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
			const frames = levels[h];
			for (let i = 0; i < frames.length; i++) {
				drawFrame(frames[i], y, h < rootLevel);
			}
		}

		return totalMarked();
	}

	canvas.onmousemove = function() {
		const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
		if (h >= 0 && h < levels.length) {
			const f = findFrame(levels[h], event.offsetX / px + root.left);
			if (f) {
				if (f != root) getSelection().removeAllRanges();
				hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
				hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
				hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
				hl.firstChild.textContent = f.title;
				hl.style.display = 'block';
				canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
				canvas.style.cursor = 'pointer';
				canvas.onclick = function() {
					if (f != root) {
						render(f, h);
						canvas.onmousemove();
					}
				};
				status.textContent = 'Function: ' + canvas.title;
				return;
			}
		}
		canvas.onmouseout();
	}

	canvas.onmouseout = function() {
		hl.style.display = 'none';
		status.textContent = '\xa0';
		canvas.title = '';
		canvas.style.cursor = '';
		canvas.onclick = '';
	}

	canvas.ondblclick = function() {
		getSelection().selectAllChildren(hl);
	}

	document.getElementById('reverse').onclick = function() {
		reverse = !reverse;
		render();
	}

	document.getElementById('search').onclick = function() {
		search(true);
	}

	document.getElementById('reset').onclick = function() {
		search(false);
	}

	window.onkeydown = function() {
		if (event.ctrlKey && event.keyCode === 70) {
			event.preventDefault();
			search(true);
		} else if (event.keyCode === 27) {
			search(false);
		}
	}

f(0,0,1069,3,'all')
f(1,0,10,3,'[unknown_Java]')
f(2,0,8,4,'SharedRuntime::complete_monitor_unlocking_C(oopDesc*, BasicLock*)')
f(3,1,2,4,'ExceptionMark::ExceptionMark(Thread*&)')
f(3,3,3,4,'ExceptionMark::~ExceptionMark()')
f(3,6,1,4,'ObjectMonitor::ExitEpilog(Thread*, ObjectWaiter*)')
f(3,7,1,4,'ObjectMonitor::exit(bool, Thread*)')
f(2,8,1,3,'[unknown]')
f(3,8,1,4,'SharedRuntime::complete_monitor_locking_C(oopDesc*, BasicLock*, JavaThread*)')
f(2,9,1,3,'_complete_monitor_locking_Java')
f(3,9,1,4,'SharedRuntime::complete_monitor_locking_C(oopDesc*, BasicLock*, JavaThread*)')
f(1,10,1025,1,'java/lang/Thread.run')
f(2,10,1,1,'com/alibaba/arthas/deps/io/netty/util/concurrent/FastThreadLocalRunnable.run')
f(3,10,1,1,'com/alibaba/arthas/deps/io/netty/util/internal/ThreadExecutorMap$2.run')
f(4,10,1,1,'com/alibaba/arthas/deps/io/netty/util/concurrent/SingleThreadEventExecutor$4.run')
f(5,10,1,0,'com/alibaba/arthas/deps/io/netty/channel/nio/NioEventLoop.run',0,0,1)
f(2,11,1024,1,'dongshi/daddy/huohuo/B$$Lambda$1/531885035.run')
f(3,11,1024,1,'dongshi/daddy/huohuo/B.lambda$cccccccccccccc$0')
f(4,13,771,1,'java/io/PrintStream.println')
f(5,14,339,1,'java/io/PrintStream.newLine')
f(6,18,6,4,'SharedRuntime::complete_monitor_unlocking_C(oopDesc*, BasicLock*)')
f(7,18,1,4,'ExceptionMark::~ExceptionMark()')
f(7,19,1,4,'ObjectMonitor::exit(bool, Thread*)')
f(7,20,1,4,'ObjectSynchronizer::inflate(Thread*, oopDesc*)')
f(7,21,2,4,'ObjectSynchronizer::slow_exit(oopDesc*, BasicLock*, Thread*)')
f(8,21,2,4,'ObjectSynchronizer::inflate(Thread*, oopDesc*)')
f(7,23,1,3,'__pthread_getspecific')
f(6,24,1,3,'_complete_monitor_locking_Java')
f(6,25,2,2,'java/io/BufferedOutputStream.flush',2,0,0)
f(6,27,13,1,'java/io/BufferedWriter.flushBuffer')
f(7,28,12,2,'java/io/OutputStreamWriter.write',9,0,0)
f(8,28,12,2,'sun/nio/cs/StreamEncoder.write',9,0,0)
f(9,29,11,2,'sun/nio/cs/StreamEncoder.implWrite',8,0,0)
f(10,29,3,2,'java/nio/CharBuffer.wrap',3,0,0)
f(10,32,8,2,'java/nio/charset/CharsetEncoder.encode',5,0,0)
f(11,32,8,2,'sun/nio/cs/UTF_8$Encoder.encodeLoop',5,0,0)
f(12,37,3,1,'sun/nio/cs/UTF_8$Encoder.encodeArrayLoop')
f(6,40,10,1,'java/io/BufferedWriter.newLine',1,0,0)
f(7,40,10,1,'java/io/Writer.write',1,0,0)
f(8,40,10,1,'java/io/BufferedWriter.write',1,0,0)
f(9,42,1,4,'HandleMarkCleaner::~HandleMarkCleaner()')
f(9,43,1,4,'ObjectMonitor::enter(Thread*)')
f(9,44,6,4,'SharedRuntime::complete_monitor_locking_C(oopDesc*, BasicLock*, JavaThread*)')
f(10,44,1,4,'BiasedLocking::revoke_and_rebias(Handle, bool, Thread*)')
f(10,45,1,4,'HandleMarkCleaner::~HandleMarkCleaner()')
f(10,46,2,4,'ObjectMonitor::enter(Thread*)')
f(10,48,1,4,'ObjectSynchronizer::fast_enter(Handle, BasicLock*, bool, Thread*)')
f(11,48,1,4,'BiasedLocking::revoke_and_rebias(Handle, bool, Thread*)')
f(10,49,1,4,'ThreadInVMfromJavaNoAsyncException::~ThreadInVMfromJavaNoAsyncException()')
f(6,50,301,1,'java/io/OutputStreamWriter.flushBuffer')
f(7,50,301,1,'sun/nio/cs/StreamEncoder.flushBuffer')
f(8,50,301,1,'sun/nio/cs/StreamEncoder.implFlushBuffer')
f(9,50,301,1,'sun/nio/cs/StreamEncoder.writeBytes')
f(10,50,301,1,'java/io/PrintStream.write')
f(11,51,284,1,'java/io/BufferedOutputStream.flush',5,0,0)
f(12,52,282,1,'java/io/BufferedOutputStream.flushBuffer',3,0,0)
f(13,52,282,1,'java/io/FileOutputStream.write',3,0,0)
f(14,52,282,1,'java/io/FileOutputStream.writeBytes',3,0,0)
f(15,54,252,3,'Java_java_io_FileOutputStream_writeBytes')
f(16,59,1,3,'jni_GetObjectField')
f(16,60,246,3,'writeBytes')
f(17,65,3,3,'__memmove_ssse3_back')
f(17,68,1,3,'__pthread_disable_asynccancel')
f(17,69,213,3,'__write')
f(18,140,1,5,'auditsys')
f(19,140,1,5,'__audit_syscall_entry')
f(18,141,4,5,'sys_write')
f(18,145,3,5,'sysret_audit')
f(19,146,2,5,'__audit_syscall_exit')
f(20,147,1,5,'unroll_tree_refs')
f(18,148,1,5,'sysret_signal')
f(18,149,133,5,'system_call_fastpath')
f(19,149,133,5,'sys_write')
f(20,152,2,5,'__x86_indirect_thunk_rax')
f(20,154,1,5,'fsnotify')
f(20,155,5,5,'tty_write')
f(20,160,122,5,'vfs_write')
f(21,162,9,5,'copy_user_generic_unrolled')
f(21,171,1,5,'fsnotify')
f(21,172,1,5,'n_tty_write')
f(21,173,1,5,'rw_verify_area')
f(21,174,108,5,'tty_write')
f(22,184,1,5,'__check_heap_object')
f(22,185,11,5,'__check_object_size')
f(23,187,6,5,'__check_heap_object')
f(23,193,3,5,'__virt_addr_valid')
f(22,196,1,5,'__virt_addr_valid')
f(22,197,69,5,'n_tty_write')
f(23,203,1,5,'_cond_resched')
f(23,204,1,5,'_raw_spin_unlock_irqrestore')
f(23,205,3,5,'add_wait_queue')
f(24,205,1,5,'_raw_spin_lock_irqsave')
f(24,206,2,5,'_raw_spin_unlock_irqrestore')
f(23,208,2,5,'down_read')
f(23,210,1,5,'mutex_lock')
f(23,211,1,5,'process_echoes')
f(23,212,50,5,'process_output')
f(24,214,1,5,'__x86_indirect_thunk_rdx')
f(24,215,38,5,'do_output_char')
f(25,215,38,5,'pty_write')
f(26,216,9,5,'tty_flip_buffer_push')
f(27,216,1,5,'queue_work_on')
f(27,217,8,5,'tty_schedule_flip')
f(28,220,3,5,'_raw_spin_unlock_irqrestore')
f(28,223,2,5,'queue_work_on')
f(26,225,5,5,'tty_insert_flip_string_fixed_flag')
f(27,228,2,5,'tty_buffer_request_room')
f(28,228,1,5,'_raw_spin_lock_irqsave')
f(28,229,1,5,'_raw_spin_unlock_irqrestore')
f(26,230,23,5,'tty_wakeup')
f(27,231,21,5,'__wake_up')
f(28,233,19,5,'__wake_up_common_lock')
f(29,233,1,5,'_raw_spin_lock_irqsave')
f(29,234,18,5,'_raw_spin_unlock_irqrestore')
f(27,252,1,5,'__wake_up_common_lock')
f(24,253,2,5,'pty_write')
f(24,255,5,5,'pty_write_room')
f(24,260,2,5,'tty_write_room')
f(25,260,2,5,'pty_write_room')
f(23,262,1,5,'pty_write')
f(23,263,1,5,'pty_write_room')
f(23,264,1,5,'remove_wait_queue')
f(24,264,1,5,'_raw_spin_unlock_irqrestore')
f(23,265,1,5,'up_read')
f(22,266,2,5,'pty_write')
f(22,268,1,5,'static_key_enabled')
f(22,269,4,5,'tty_ldisc_ref_wait')
f(23,270,1,5,'_cond_resched')
f(23,271,2,5,'ldsem_down_read')
f(22,273,3,5,'tty_paranoia_check')
f(22,276,6,5,'tty_write_unlock')
f(23,277,5,5,'__wake_up')
f(24,277,5,5,'__wake_up_common_lock')
f(25,279,3,5,'_raw_spin_unlock_irqrestore')
f(17,282,2,3,'jni_ExceptionOccurred')
f(18,282,2,4,'HandleMarkCleaner::~HandleMarkCleaner()')
f(17,284,2,3,'jni_GetArrayLength')
f(17,286,6,3,'jni_GetByteArrayRegion')
f(18,291,1,4,'ThreadInVMfromNative::~ThreadInVMfromNative()')
f(17,292,14,3,'jni_GetObjectField')
f(18,299,1,4,'HandleMarkCleaner::~HandleMarkCleaner()')
f(18,300,4,4,'JNIHandleBlock::allocate_handle(oopDesc*)')
f(18,304,1,4,'JNIHandles::make_local(JNIEnv_*, oopDesc*)')
f(18,305,1,4,'JavaThread::thread_from_jni_environment(JNIEnv_*)')
f(15,306,28,3,'__write')
f(16,306,28,5,'system_call_after_swapgs')
f(12,334,1,3,'jbyte_arraycopy')
f(11,335,16,2,'java/io/BufferedOutputStream.write',9,0,0)
f(12,335,3,4,'ExceptionMark::~ExceptionMark()')
f(12,338,1,4,'ObjectMonitor::exit(bool, Thread*)')
f(12,339,6,4,'SharedRuntime::complete_monitor_locking_C(oopDesc*, BasicLock*, JavaThread*)')
f(13,341,1,4,'ObjectMonitor::enter(Thread*)')
f(13,342,2,4,'ObjectSynchronizer::fast_enter(Handle, BasicLock*, bool, Thread*)')
f(14,342,2,4,'BiasedLocking::revoke_and_rebias(Handle, bool, Thread*)')
f(13,344,1,4,'ObjectSynchronizer::inflate(Thread*, oopDesc*)')
f(12,345,4,4,'SharedRuntime::complete_monitor_unlocking_C(oopDesc*, BasicLock*)')
f(13,345,1,4,'ExceptionMark::ExceptionMark(Thread*&)')
f(13,346,1,4,'ExceptionMark::~ExceptionMark()')
f(13,347,2,4,'ObjectSynchronizer::slow_exit(oopDesc*, BasicLock*, Thread*)')
f(14,347,2,4,'ObjectSynchronizer::inflate(Thread*, oopDesc*)')
f(12,349,1,4,'ThreadInVMfromJavaNoAsyncException::~ThreadInVMfromJavaNoAsyncException()')
f(12,350,1,3,'__pthread_getspecific')
f(6,351,2,3,'jshort_disjoint_arraycopy')
f(5,353,412,1,'java/io/PrintStream.print',18,0,0)
f(6,367,394,1,'java/io/PrintStream.write')
f(7,373,15,1,'java/io/BufferedWriter.flushBuffer')
f(8,376,12,2,'java/io/OutputStreamWriter.write',6,0,0)
f(9,376,12,2,'sun/nio/cs/StreamEncoder.write',6,0,0)
f(10,379,9,2,'sun/nio/cs/StreamEncoder.implWrite',3,0,0)
f(11,379,1,2,'java/nio/CharBuffer.wrap',1,0,0)
f(11,380,8,1,'java/nio/charset/CharsetEncoder.encode',2,0,0)
f(12,380,8,1,'sun/nio/cs/UTF_8$Encoder.encodeLoop',2,0,0)
f(13,382,6,1,'sun/nio/cs/UTF_8$Encoder.encodeArrayLoop')
f(7,388,353,1,'java/io/OutputStreamWriter.flushBuffer',10,0,0)
f(8,388,353,1,'sun/nio/cs/StreamEncoder.flushBuffer',10,0,0)
f(9,388,353,1,'sun/nio/cs/StreamEncoder.implFlushBuffer',10,0,0)
f(10,388,353,1,'sun/nio/cs/StreamEncoder.writeBytes',10,0,0)
f(11,398,343,1,'java/io/PrintStream.write')
f(12,399,333,1,'java/io/BufferedOutputStream.flush',5,0,0)
f(13,402,329,1,'java/io/BufferedOutputStream.flushBuffer',1,0,0)
f(14,402,329,1,'java/io/FileOutputStream.write',1,0,0)
f(15,403,328,1,'java/io/FileOutputStream.writeBytes')
f(16,407,292,3,'Java_java_io_FileOutputStream_writeBytes')
f(17,408,1,3,'jni_ExceptionOccurred')
f(17,409,290,3,'writeBytes')
f(18,413,1,4,'JNIHandleBlock::allocate_handle(oopDesc*)')
f(18,414,1,4,'JNIHandles::make_local(JNIEnv_*, oopDesc*)')
f(18,415,1,4,'JavaThread::thread_from_jni_environment(JNIEnv_*)')
f(18,416,2,3,'__memmove_ssse3_back')
f(18,418,1,3,'__pthread_enable_asynccancel')
f(18,419,261,3,'__write')
f(19,499,2,5,'__audit_syscall_entry')
f(19,501,1,5,'__audit_syscall_exit')
f(19,502,2,5,'auditsys')
f(20,502,2,5,'__audit_syscall_entry')
f(19,504,5,5,'sys_write')
f(19,509,5,5,'sysret_audit')
f(20,509,4,5,'__audit_syscall_exit')
f(21,512,1,5,'path_put')
f(20,513,1,5,'kfree')
f(19,514,2,5,'sysret_signal')
f(19,516,1,5,'system_call_after_swapgs')
f(19,517,163,5,'system_call_fastpath')
f(20,518,1,5,'fput')
f(20,519,161,5,'sys_write')
f(21,519,9,5,'fget_light')
f(21,528,5,5,'tty_write')
f(21,533,147,5,'vfs_write')
f(22,536,7,5,'copy_user_generic_unrolled')
f(22,543,2,5,'fsnotify')
f(22,545,1,5,'get_seconds')
f(22,546,5,5,'n_tty_write')
f(22,551,3,5,'rw_verify_area')
f(23,551,3,5,'security_file_permission')
f(22,554,1,5,'tty_ldisc_ref_wait')
f(22,555,124,5,'tty_write')
f(23,563,7,5,'__check_object_size')
f(24,563,2,5,'__check_heap_object')
f(24,565,5,5,'__virt_addr_valid')
f(23,570,1,5,'add_wait_queue')
f(23,571,1,5,'down_read')
f(23,572,1,5,'ldsem_up_read')
f(23,573,88,5,'n_tty_write')
f(24,584,1,5,'_cond_resched')
f(24,585,2,5,'add_wait_queue')
f(25,585,2,5,'_raw_spin_unlock_irqrestore')
f(24,587,3,5,'process_echoes')
f(24,590,60,5,'pty_write')
f(25,591,4,5,'__memcpy')
f(25,595,6,5,'__memset')
f(25,601,8,5,'tty_flip_buffer_push')
f(26,601,1,5,'_raw_spin_unlock_irqrestore')
f(26,602,7,5,'tty_schedule_flip')
f(27,603,4,5,'_raw_spin_unlock_irqrestore')
f(27,607,2,5,'queue_work_on')
f(25,609,8,5,'tty_insert_flip_string_fixed_flag')
f(26,611,1,5,'_raw_spin_lock_irqsave')
f(26,612,5,5,'tty_buffer_request_room')
f(27,614,3,5,'_raw_spin_unlock_irqrestore')
f(25,617,2,5,'tty_schedule_flip')
f(25,619,31,5,'tty_wakeup')
f(26,620,30,5,'__wake_up')
f(27,620,30,5,'__wake_up_common_lock')
f(28,622,28,5,'_raw_spin_unlock_irqrestore')
f(24,650,1,5,'pty_write_room')
f(24,651,4,5,'remove_wait_queue')
f(25,651,4,5,'_raw_spin_unlock_irqrestore')
f(24,655,1,5,'tty_insert_flip_string_fixed_flag')
f(24,656,3,5,'tty_write_room')
f(25,657,2,5,'pty_write_room')
f(24,659,2,5,'up_read')
f(23,661,3,5,'pty_write')
f(23,664,1,5,'static_key_enabled')
f(23,665,2,5,'tty_ldisc_ref_wait')
f(24,666,1,5,'ldsem_down_read')
f(23,667,2,5,'tty_paranoia_check')
f(23,669,1,5,'tty_write_lock')
f(24,669,1,5,'mutex_trylock')
f(23,670,9,5,'tty_write_unlock')
f(24,670,9,5,'__wake_up')
f(25,671,8,5,'__wake_up_common_lock')
f(26,672,7,5,'_raw_spin_unlock_irqrestore')
f(22,679,1,5,'tty_write_lock')
f(18,680,2,3,'jni_ExceptionOccurred')
f(19,681,1,4,'JavaThread::check_and_handle_async_exceptions(bool)')
f(18,682,1,3,'jni_GetArrayLength')
f(18,683,5,3,'jni_GetByteArrayRegion')
f(19,687,1,4,'ThreadInVMfromNative::~ThreadInVMfromNative()')
f(18,688,11,3,'jni_GetObjectField')
f(19,695,4,4,'JNIHandleBlock::allocate_handle(oopDesc*)')
f(16,699,32,3,'__write')
f(17,699,32,5,'system_call_after_swapgs')
f(13,731,1,3,'jbyte_disjoint_arraycopy')
f(12,732,9,2,'java/io/BufferedOutputStream.write',3,0,0)
f(13,734,6,4,'SharedRuntime::complete_monitor_locking_C(oopDesc*, BasicLock*, JavaThread*)')
f(14,735,4,4,'ObjectSynchronizer::fast_enter(Handle, BasicLock*, bool, Thread*)')
f(15,737,1,4,'BiasedLocking::revoke_and_rebias(Handle, bool, Thread*)')
f(15,738,1,4,'ObjectSynchronizer::inflate(Thread*, oopDesc*)')
f(14,739,1,4,'ThreadInVMfromJavaNoAsyncException::~ThreadInVMfromJavaNoAsyncException()')
f(13,740,1,4,'SharedRuntime::complete_monitor_unlocking_C(oopDesc*, BasicLock*)')
f(14,740,1,4,'ObjectMonitor::exit(bool, Thread*)')
f(7,741,18,1,'java/io/Writer.write',5,0,0)
f(8,741,18,1,'java/io/BufferedWriter.write',5,0,0)
f(9,742,12,4,'SharedRuntime::complete_monitor_locking_C(oopDesc*, BasicLock*, JavaThread*)')
f(10,744,1,4,'HandleMarkCleaner::~HandleMarkCleaner()')
f(10,745,1,4,'ObjectMonitor::enter(Thread*)')
f(10,746,6,4,'ObjectSynchronizer::fast_enter(Handle, BasicLock*, bool, Thread*)')
f(11,751,1,4,'ObjectSynchronizer::inflate(Thread*, oopDesc*)')
f(10,752,2,4,'ThreadInVMfromJavaNoAsyncException::~ThreadInVMfromJavaNoAsyncException()')
f(9,754,5,2,'java/lang/String.getChars',5,0,0)
f(10,756,3,4,'SharedRuntime::complete_monitor_unlocking_C(oopDesc*, BasicLock*)')
f(11,756,1,4,'ExceptionMark::~ExceptionMark()')
f(11,757,2,4,'ObjectMonitor::exit(bool, Thread*)')
f(7,759,1,3,'jshort_arraycopy')
f(7,760,1,3,'jshort_disjoint_arraycopy')
f(6,761,1,3,'jlong_disjoint_arraycopy')
f(6,762,1,3,'jshort_arraycopy')
f(6,763,2,3,'jshort_disjoint_arraycopy')
f(5,765,19,1,'java/lang/String.valueOf',5,0,0)
f(6,765,19,1,'java/lang/Object.toString',5,0,0)
f(7,765,1,2,'java/lang/Class.getName',1,0,0)
f(7,766,1,2,'java/lang/Integer.toHexString',1,0,0)
f(8,766,1,2,'java/lang/Integer.toUnsignedString0',1,0,0)
f(9,766,1,2,'java/lang/Integer.formatUnsignedInt',1,0,0)
f(7,767,13,1,'java/lang/Object.hashCode')
f(8,768,1,4,'HandleMarkCleaner::~HandleMarkCleaner()')
f(8,769,11,3,'JVM_IHashCode')
f(9,772,4,4,'HandleMarkCleaner::~HandleMarkCleaner()')
f(9,776,4,4,'ObjectSynchronizer::FastHashCode(Thread*, oopDesc*)')
f(7,780,1,1,'java/lang/StringBuilder.append')
f(8,780,1,1,'java/lang/AbstractStringBuilder.append')
f(9,780,1,1,'java/lang/String.length')
f(10,780,1,4,'SharedRuntime::complete_monitor_locking_C(oopDesc*, BasicLock*, JavaThread*)')
f(11,780,1,4,'ObjectMonitor::enter(Thread*)')
f(12,780,1,4,'ObjectMonitor::EnterI(Thread*)')
f(13,780,1,3,'__pthread_cond_wait')
f(7,781,3,2,'java/lang/StringBuilder.toString',3,0,0)
f(8,781,3,2,'java/lang/String.<init>',3,0,0)
f(9,781,3,2,'java/util/Arrays.copyOfRange',3,0,0)
f(4,784,21,1,'java/lang/String.getBytes')
f(5,784,21,1,'java/lang/StringCoding.encode')
f(6,784,21,2,'java/lang/StringCoding.encode',11,0,0)
f(7,784,19,2,'java/lang/StringCoding$StringEncoder.encode',9,0,0)
f(8,793,1,1,'java/lang/StringCoding.access$300')
f(9,793,1,1,'java/lang/StringCoding.safeTrim')
f(10,793,1,1,'java/util/Arrays.copyOf')
f(11,793,1,4,'OptoRuntime::new_array_C(Klass*, int, JavaThread*)')
f(12,793,1,4,'TypeArrayKlass::allocate_common(int, bool, Thread*)')
f(13,793,1,4,'CollectedHeap::allocate_from_tlab_slow(KlassHandle, Thread*, unsigned long)')
f(14,793,1,4,'GenCollectorPolicy::mem_allocate_work(unsigned long, bool, bool*)')
f(8,794,9,1,'sun/nio/cs/UTF_8$Encoder.encode')
f(7,803,2,2,'java/lang/StringCoding.deref',2,0,0)
f(8,803,2,2,'java/lang/ThreadLocal.get',2,0,0)
f(9,803,2,2,'java/lang/ThreadLocal$ThreadLocalMap.access$000',2,0,0)
f(10,803,2,2,'java/lang/ThreadLocal$ThreadLocalMap.getEntry',2,0,0)
f(4,805,137,1,'java/util/UUID.randomUUID',7,0,0)
f(5,805,137,1,'java/security/SecureRandom.nextBytes',7,0,0)
f(6,805,137,1,'sun/security/provider/NativePRNG.engineNextBytes',7,0,0)
f(7,805,137,1,'sun/security/provider/NativePRNG$RandomIO.access$400',7,0,0)
f(8,812,130,1,'sun/security/provider/NativePRNG$RandomIO.implNextBytes')
f(9,816,2,2,'java/util/Arrays.copyOfRange',2,0,0)
f(9,818,46,1,'sun/security/provider/NativePRNG$RandomIO.ensureBufferValid',15,0,0)
f(10,818,46,1,'sun/security/provider/NativePRNG$RandomIO.readFully',15,0,0)
f(11,822,2,3,'[vdso]')
f(11,824,31,1,'java/io/FileInputStream.read')
f(12,824,31,1,'java/io/FileInputStream.readBytes')
f(13,824,31,3,'readBytes')
f(14,824,31,3,'/usr/lib64/libpthread-2.17.so')
f(15,824,31,5,'system_call_fastpath')
f(16,824,31,5,'sys_read')
f(17,824,31,5,'vfs_read')
f(18,824,1,5,'copy_user_generic_unrolled')
f(18,825,30,5,'urandom_read')
f(19,826,2,5,'__check_object_size')
f(19,828,26,5,'extract_crng')
f(20,828,26,5,'_extract_crng')
f(21,831,23,5,'_raw_spin_unlock_irqrestore')
f(19,854,1,5,'static_key_enabled')
f(11,855,1,3,'jbyte_disjoint_arraycopy')
f(11,856,8,4,'os::javaTimeMillis()')
f(12,856,8,3,'[vdso]')
f(9,864,78,1,'sun/security/provider/SecureRandom.engineNextBytes',25,0,0)
f(10,871,71,1,'java/security/MessageDigest.digest',18,0,0)
f(11,871,71,1,'java/security/MessageDigest$Delegate.engineDigest',18,0,0)
f(12,871,71,1,'sun/security/provider/DigestBase.engineDigest',18,0,0)
f(13,871,71,1,'sun/security/provider/DigestBase.engineDigest',18,0,0)
f(14,871,71,1,'sun/security/provider/SHA.implDigest',18,0,0)
f(15,872,17,2,'sun/security/provider/ByteArrayAccess.i2bBig4',17,0,0)
f(16,887,2,3,'jbyte_disjoint_arraycopy')
f(15,889,53,1,'sun/security/provider/SHA.implCompress')
f(16,940,2,1,'sun/security/provider/ByteArrayAccess.b2iBig64')
f(4,942,93,1,'java/util/UUID.toString')
f(5,943,85,2,'java/lang/StringBuilder.<init>',85,0,0)
f(6,943,85,2,'java/lang/AbstractStringBuilder.<init>',85,0,0)
f(7,1008,3,3,'jlong_disjoint_arraycopy')
f(7,1011,2,3,'jshort_arraycopy')
f(7,1013,15,3,'jshort_disjoint_arraycopy')
f(5,1028,7,2,'java/util/UUID.digits',6,0,0)
f(6,1028,7,2,'java/lang/Long.toHexString',6,0,0)
f(7,1028,7,2,'java/lang/Long.toUnsignedString0',6,0,0)
f(8,1028,7,2,'java/lang/Long.formatUnsignedLong',6,0,0)
f(9,1034,1,4,'OptoRuntime::new_array_nozero_C(Klass*, int, JavaThread*)')
f(10,1034,1,4,'OptoRuntime::is_deoptimized_caller_frame(JavaThread*)')
f(11,1034,1,4,'frame::sender(RegisterMap*) const')
f(1,1035,34,3,'start_thread')
f(2,1035,34,3,'java_start(Thread*)')
f(3,1035,1,4,'JavaThread::run()')
f(4,1035,1,4,'JavaThread::thread_main_inner()')
f(5,1035,1,4,'CompileBroker::compiler_thread_loop()')
f(6,1035,1,4,'CompileBroker::invoke_compiler_on_method(CompileTask*)')
f(7,1035,1,4,'Compiler::compile_method(ciEnv*, ciMethod*, int)')
f(8,1035,1,4,'Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*)')
f(9,1035,1,4,'Compilation::compile_method()')
f(10,1035,1,4,'Compilation::compile_java_method()')
f(11,1035,1,4,'Compilation::build_hir()')
f(12,1035,1,4,'IR::IR(Compilation*, ciMethod*, int)')
f(13,1035,1,4,'IRScope::IRScope(Compilation*, IRScope*, int, ciMethod*, int, bool)')
f(14,1035,1,4,'GraphBuilder::GraphBuilder(Compilation*, IRScope*)')
f(15,1035,1,4,'GraphBuilder::iterate_all_blocks(bool)')
f(16,1035,1,4,'GraphBuilder::iterate_bytecodes_for_block(int)')
f(17,1035,1,4,'GraphBuilder::invoke(Bytecodes::Code)')
f(18,1035,1,4,'GraphBuilder::try_inline(ciMethod*, bool, Bytecodes::Code, Instruction*)')
f(19,1035,1,4,'GraphBuilder::try_inline_full(ciMethod*, bool, Bytecodes::Code, Instruction*)')
f(20,1035,1,4,'GraphBuilder::iterate_all_blocks(bool)')
f(21,1035,1,4,'GraphBuilder::iterate_bytecodes_for_block(int)')
f(22,1035,1,4,'GraphBuilder::invoke(Bytecodes::Code)')
f(23,1035,1,4,'GraphBuilder::try_inline(ciMethod*, bool, Bytecodes::Code, Instruction*)')
f(24,1035,1,4,'GraphBuilder::try_inline_full(ciMethod*, bool, Bytecodes::Code, Instruction*)')
f(25,1035,1,4,'ciMethod::ensure_method_data()')
f(26,1035,1,4,'ciMethod::ensure_method_data(methodHandle)')
f(27,1035,1,4,'Method::build_interpreter_method_data(methodHandle, Thread*)')
f(28,1035,1,4,'MethodData::allocate(ClassLoaderData*, methodHandle, Thread*)')
f(29,1035,1,4,'Metaspace::allocate(ClassLoaderData*, unsigned long, bool, MetaspaceObj::Type, Thread*)')
f(30,1035,1,5,'page_fault')
f(31,1035,1,5,'do_page_fault')
f(32,1035,1,5,'__do_page_fault')
f(33,1035,1,5,'handle_mm_fault')
f(34,1035,1,5,'mem_cgroup_newpage_charge')
f(35,1035,1,5,'mem_cgroup_charge_common')
f(36,1035,1,5,'__mem_cgroup_commit_charge')
f(3,1036,33,4,'VMThread::run()')
f(4,1036,33,4,'VMThread::loop()')
f(5,1036,1,4,'EventMark::~EventMark()')
f(6,1036,1,4,'FormatBuffer<256ul>::append(char const*, ...)')
f(5,1037,1,4,'SafepointSynchronize::begin()')
f(6,1037,1,4,'SafepointSynchronize::do_cleanup_tasks()')
f(7,1037,1,4,'NMethodSweeper::mark_active_nmethods()')
f(8,1037,1,4,'Threads::nmethods_do(CodeBlobClosure*)')
f(9,1037,1,4,'JavaThread::nmethods_do(CodeBlobClosure*)')
f(10,1037,1,4,'frame::sender(RegisterMap*) const')
f(5,1038,31,4,'VMThread::evaluate_operation(VM_Operation*)')
f(6,1038,31,4,'VM_Operation::evaluate()')
f(7,1038,31,4,'VM_GenCollectForAllocation::doit()')
f(8,1038,31,4,'GenCollectorPolicy::satisfy_failed_allocation(unsigned long, bool)')
f(9,1038,31,4,'GenCollectedHeap::do_collection(bool, bool, unsigned long, bool, int)')
f(10,1038,30,4,'DefNewGeneration::collect(bool, bool, unsigned long, bool)')
f(11,1038,29,4,'GenCollectedHeap::gen_process_roots(int, bool, bool, GenCollectedHeap::ScanningOption, bool, OopsInGenClosure*, OopsInGenClosure*, CLDClosure*)')
f(12,1038,27,4,'GenCollectedHeap::process_roots(bool, GenCollectedHeap::ScanningOption, OopClosure*, OopClosure*, CLDClosure*, CLDClosure*, CodeBlobClosure*)')
f(13,1038,18,4,'ClassLoaderDataGraph::roots_cld_do(CLDClosure*, CLDClosure*)')
f(14,1039,17,4,'ClassLoaderData::oops_do(OopClosure*, KlassClosure*, bool)')
f(15,1040,1,4,'FastScanClosure::do_oop(oopDesc**)')
f(15,1041,15,4,'KlassScanClosure::do_klass(Klass*)')
f(13,1056,1,4,'FastScanClosure::do_oop(oopDesc**)')
f(13,1057,4,4,'StringTable::oops_do(OopClosure*)')
f(14,1058,3,4,'FastScanClosure::do_oop(oopDesc**)')
f(13,1061,3,4,'Threads::possibly_parallel_oops_do(OopClosure*, CLDClosure*, CodeBlobClosure*)')
f(14,1061,3,4,'JavaThread::oops_do(OopClosure*, CLDClosure*, CodeBlobClosure*)')
f(15,1061,1,4,'frame::oops_do_internal(OopClosure*, CLDClosure*, CodeBlobClosure*, RegisterMap*, bool)')
f(16,1061,1,4,'OopMapSet::all_do(frame const*, RegisterMap const*, OopClosure*, void (*)(oopDesc**, oopDesc**), OopClosure*)')
f(17,1061,1,4,'resource_allocate_bytes(unsigned long, AllocFailStrategy::AllocFailEnum)')
f(15,1062,1,4,'frame::oops_interpreted_do(OopClosure*, CLDClosure*, RegisterMap const*, bool)')
f(16,1062,1,4,'ConstantPool::impl_signature_ref_at(int, bool)')
f(15,1063,1,4,'nmethod::fix_oop_relocations(unsigned char*, unsigned char*, bool)')
f(13,1064,1,4,'VMThread::oops_do(OopClosure*, CLDClosure*, CodeBlobClosure*)')
f(14,1064,1,4,'Thread::oops_do(OopClosure*, CLDClosure*, CodeBlobClosure*)')
f(15,1064,1,4,'JNIHandleBlock::oops_do(OopClosure*)')
f(12,1065,2,4,'OneContigSpaceCardGeneration::younger_refs_iterate(OopsInGenClosure*)')
f(13,1065,2,4,'CardTableRS::younger_refs_in_space_iterate(Space*, OopsInGenClosure*)')
f(14,1065,2,4,'CardTableModRefBS::non_clean_card_iterate_possibly_parallel(Space*, MemRegion, OopsInGenClosure*, CardTableRS*)')
f(15,1065,2,4,'ClearNoncleanCardWrapper::do_MemRegion(MemRegion)')
f(16,1065,1,4,'DirtyCardToOopClosure::do_MemRegion(MemRegion)')
f(17,1065,1,4,'Filtering_DCTOC::walk_mem_region(MemRegion, HeapWord*, HeapWord*)')
f(18,1065,1,4,'ContiguousSpaceDCTOC::walk_mem_region_with_cl(MemRegion, HeapWord*, HeapWord*, FilteringClosure*)')
f(19,1065,1,4,'ObjArrayKlass::oop_oop_iterate_nv_m(oopDesc*, FilteringClosure*, MemRegion)')
f(20,1065,1,4,'FastScanClosure::do_oop(unsigned int*)')
f(21,1065,1,4,'DefNewGeneration::copy_to_survivor_space(oopDesc*)')
f(16,1066,1,5,'ret_from_intr')
f(17,1066,1,5,'do_IRQ')
f(18,1066,1,5,'irq_exit')
f(19,1066,1,5,'do_softirq')
f(20,1066,1,5,'call_softirq')
f(21,1066,1,5,'__do_softirq')
f(11,1067,1,4,'GenCollectedHeap::oop_since_save_marks_iterate(int, FastScanClosure*, FastScanClosure*)')
f(12,1067,1,4,'OneContigSpaceCardGeneration::oop_since_save_marks_iterate_nv(FastScanClosure*)')
f(13,1067,1,4,'ContiguousSpace::oop_since_save_marks_iterate_nv(FastScanClosure*)')
f(14,1067,1,4,'InstanceKlass::oop_oop_iterate_nv(oopDesc*, FastScanClosure*)')
f(15,1067,1,4,'DefNewGeneration::copy_to_survivor_space(oopDesc*)')
f(16,1067,1,3,'__memmove_ssse3_back')
f(17,1067,1,5,'page_fault')
f(18,1067,1,5,'do_page_fault')
f(19,1067,1,5,'__do_page_fault')
f(20,1067,1,5,'handle_mm_fault')
f(21,1067,1,5,'alloc_pages_vma')
f(22,1067,1,5,'__alloc_pages_nodemask')
f(23,1067,1,5,'clear_page')
f(10,1068,1,4,'GCHeapLog::log_heap(bool)')
f(11,1068,1,4,'Universe::print_heap_before_gc(outputStream*, bool)')
f(12,1068,1,4,'outputStream::print_cr(char const*, ...)')
f(13,1068,1,3,'__strlen_sse2_pminub')

search();
</script></body></html>
